<?php
App::uses('AppController', 'Controller');
/**
 * BemPatrimonials Controller
 *
 * @property BemPatrimonial $BemPatrimonial
 */
class BemPatrimonialsController extends AppController {

	var $paginate = array();

/**
 * index method
 *
 * @return void
 */
	public function index() {
		
		if ($this->request->is('post') && isset($this->request->data['Filter']['descricao'])) {
			if (!empty($this->request->data['Filter']['descricao'])) {
				$this->Session->write('BemPatrimonial.descricao', $this->request->data['Filter']['descricao']);
			} else {
				$this->Session->delete('BemPatrimonial.descricao');
			}
		}
		
		if ($this->Session->check('BemPatrimonial.descricao')) {
			$descricao = $this->Session->read('BemPatrimonial.descricao');
			if (!empty($descricao)) {
				$this->request->data['Filter']['descricao'] = $descricao;
				$this->paginate['conditions']['OR'] = array(
					'BemPatrimonial.descricao_bem ILIKE' => '%' . $this->Session->read('BemPatrimonial.descricao') . '%',
					'BemPatrimonial.caracteristica_bem ILIKE' => '%' . $this->Session->read('BemPatrimonial.descricao') . '%'
				);
			}
		}
		
		$this->BemPatrimonial->recursive = 2;
		$this->set('bemPatrimonials', $this->paginate());
	}

/**
 * view method
 *
 * @param string $id
 * @return void
 */
	public function view($id = null) {
		$this->BemPatrimonial->id = $id;
		if (!$this->BemPatrimonial->exists()) {
			throw new NotFoundException(__('Invalid bem patrimonial'));
		}
		$this->request->data = $this->BemPatrimonial->read(null, $id);
		$produtos = $this->BemPatrimonial->Produto->find('list');
		$grupos = $this->BemPatrimonial->Produto->Grupo->find('list');
		$fornecedors = $this->BemPatrimonial->Fornecedor->find('list');
		$fabricantes = $this->BemPatrimonial->Fabricante->find('list');
		$unidades = $this->BemPatrimonial->Unidade->find('list');
		$this->set(compact('produtos', 'grupos', 'fornecedors', 'fabricantes', 'unidades'));
	}

/**
 * add method
 *
 * @return void
 */
	public function add() {
		if ($this->request->is('post')) {
			$this->BemPatrimonial->create();
			if ($this->BemPatrimonial->save($this->request->data)) {
				$this->Session->setFlash(__('The bem patrimonial has been saved'));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The bem patrimonial could not be saved. Please, try again.'));
			}
		}
		$produtos = $this->BemPatrimonial->Produto->find('list');
	//	$contacontabils = $this->Contacontabil->find('list');
		$fornecedors = $this->BemPatrimonial->Fornecedor->find('list');
		$fabricantes = $this->BemPatrimonial->Fabricante->find('list');
		$unidades = $this->BemPatrimonial->Unidade->find('list');
		$this->set(compact('produtos', 'contacontabils', 'fornecedors', 'fabricantes', 'unidades'));
	}

/**
 * edit method
 *
 * @param string $id
 * @return void
 */
	public function edit($id = null) {
		$this->BemPatrimonial->id = $id;
		if (!$this->BemPatrimonial->exists()) {
			throw new NotFoundException(__('Invalid bem patrimonial'));
		}
		if ($this->request->is('post') || $this->request->is('put')) {
			if ($this->BemPatrimonial->save($this->request->data)) {
				$this->Session->setFlash(__('The bem patrimonial has been saved'));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The bem patrimonial could not be saved. Please, try again.'));
			}
		} else {
			$this->request->data = $this->BemPatrimonial->read(null, $id);
		}
		$produtos = $this->BemPatrimonial->Produto->find('list');
		$grupos = $this->BemPatrimonial->Produto->Grupo->find('list');
		$fornecedors = $this->BemPatrimonial->Fornecedor->find('list');
		$fabricantes = $this->BemPatrimonial->Fabricante->find('list');
		$unidades = $this->BemPatrimonial->Unidade->find('list');
		$this->set(compact('produtos', 'grupos', 'fornecedors', 'fabricantes', 'unidades'));
	}

/**
 * delete method
 *
 * @param string $id
 * @return void
 */
	public function delete($id = null) {
		if (!$this->request->is('post')) {
			throw new MethodNotAllowedException();
		}
		$this->BemPatrimonial->id = $id;
		if (!$this->BemPatrimonial->exists()) {
			throw new NotFoundException(__('Invalid bem patrimonial'));
		}
		if ($this->BemPatrimonial->delete()) {
			$this->Session->setFlash(__('Bem patrimonial deleted'));
			$this->redirect(array('action' => 'index'));
		}
		$this->Session->setFlash(__('Bem patrimonial was not deleted'));
		$this->redirect(array('action' => 'index'));
	}
}
